import numpy as np
import os


def gen_concat_data():
    os.makedirs("./input", exist_ok=True)
    os.makedirs("./output", exist_ok=True)

    # 生成两个8*2048的张量用于拼接
    input_x = np.random.uniform(1, 100, [8, 1035]).astype(np.float16)
    input_y = np.random.uniform(1, 100, [8, 2069]).astype(np.float16)

    # 沿第1维拼接两个张量，得到8*4096的输出
    golden = np.concatenate([input_x, input_y], axis=1).astype(np.float16)
    #golden = np.concatenate([input_x, input_y], axis=0).astype(np.float16)
    tiling = np.array([16384, 8], dtype=np.uint32)
    tiling.tofile("./input/input_tiling.bin")

    # 保持原来的文件名不变
    input_x.tofile("./input/input_x.bin")
    input_y.tofile("./input/input_y.bin")
    golden.tofile("./output/golden.bin")

    print("Concat data generation completed!")
    print(f"Input X shape: {input_x.shape}")
    print(f"Input Y shape: {input_y.shape}")
    print(f"Output shape: {golden.shape}")


if __name__ == "__main__":
    gen_concat_data()